package cn.ecut.filter;

import javax.servlet.*;
import java.io.IOException;

/**
 * @Author ruanxin
 */
public class CharacterEncodingFilter  implements Filter {
    //初始化：web服务器启动，就已经初始化了，随时等待过滤对象出现！
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("CharacterEncodingFilter初始化");
    }

    //Chain:链
    /*
     1.过滤中的所有代码，在过滤特定请求的时候都会执行
     2.必须要让过滤器继续通行
        chain.doFilter(request,response);
    */
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");

        System.out.println("CharacterEncodingFilter执行前");
        chain.doFilter(request,response);//让我们的请求继续走，如果不写程序到着就拦截停止
        System.out.println("CharacterEncodingFilter执行后");
    }
    //销毁：web服务器关闭时,过滤器会销毁。
    @Override
    public void destroy() {
        System.out.println("CharacterEncodingFilter销毁");
    }
}
